// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import * as vscode from 'vscode';
import * as fs from 'fs';
import { ExplorerView } from './explorerView';


// const aasda = require('asdasda') ; const aasasda = require('./asdas/wwwasdasda') ;
// this method is called when your extension is activated
// your extension is activated the very first time the command is executed
export function activate(context: vscode.ExtensionContext) {

	// Use the console to output diagnostic information (console.log) and errors (console.error)
	// This line of code will only be executed once when your extension is activated
	console.log('Congratulations, your extension "abc" is now active!');

	// The command has been defined in the package.json file
	// Now provide the implementation of the command with registerCommand
	// The commandId parameter must match the command field in package.json
	let disposable = vscode.commands.registerCommand('abc.helloWorld', () => {
		// The code you place here will be executed every time your command is executed
		// Display a message box to the user
		console.log(vscode.window.activeTextEditor?.document);
		debugger;
		vscode.window.showInformationMessage('Hello World from !');
	});


	class aasd implements vscode.DocumentLinkProvider {
		provideDocumentLinks(document: vscode.TextDocument, token: vscode.CancellationToken): vscode.ProviderResult<vscode.DocumentLink[]> {
			throw new Error('Method not implemented.');
		}

	}
	//	vscode

	vscode.languages.registerHoverProvider({ scheme: 'file', language: 'typescript' }, {
		provideHover(doc: vscode.TextDocument) {
			const { size } = fs.statSync(doc.uri.fsPath); // ⚠️ what about 'untitled:/Untitled1.ts' or others?
			return new vscode.Hover(`Size in bytes is ${size}`);
		}
	});
	vscode.languages.registerDocumentLinkProvider({ scheme: 'file', language: 'typescript' }, new aasd());
	const statusBar = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left, 3);

	// vscode.workspace.onDidOpenTextDocument((e: vscode.TextDocument) => {
	// 	console.log('e', e.fileName);
	// });
	// vscode.window.onDidChangeTextEditorSelection((e: vscode.TextEditorSelectionChangeEvent) => {
	// 	console.log('wwwwe', e);
	// });
	//console.log(contex)
	statusBar.text = "🎱 xxx222";
	statusBar.color = "white";
	// statusBar.tooltip = this.getFundTooltipText();
	statusBar.show();


	// Test View
	new ExplorerView(context);

	context.subscriptions.push(disposable);
}

// this method is called when your extension is deactivated
export function deactivate() { }
